#include <iostream>
using namespace std;

//元素个数
const int MAX = 100;

//双亲表示法
int parent[MAX];
//初始父节点为自身
void init(int n){   //n为实际元素的个数
    for(int i = 0; i < n; i++){
        parent[i] = i;
    }
}

//找元素的根节点，并且在查找的过程中压缩路径
int find(int i){
    if(parent[i] == i){
        return i;
    }
    //该节点不是根节点，将其父节点设为根节点
    parent[i] = find(parent[i]);
    return parent[i];
}

//合并两个集合
void merge(int i, int j){
    //将 i节点的根节点的父节点 设为 j的根节点
    parent[find(i)] = find(j);
}

